<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <SCript>


        // ### 1.4 字符串操作

        // 字符串：“abaasdffggghhjjkkgfddsssss3444343”，问题如下： 
        var str = 'abaasdffggghhjjkkgfddsssss3444343';
        // 1、 字符串的长度 
        console.log(str.length);
        // 2、 取出指定位置的字符，如：0,3,5,9等 
        console.log(str.charAt(0));
        console.log(str.charAt(3));
        console.log(str.charAt(5));
        console.log(str.charAt(9));
        // 3、 查找指定字符是否在以上字符串中存在，如：i，c ，b等 

        function result(data) {
            for (var i = 0; i < str.length; i++) {
                if (str.indexOf(data) == -1) {
                    return false;
                }
            }
            return true;

        } console.log(result('i'));
        console.log(result('c'));
        console.log(result('b'));

        // 4、 替换指定的字符，如：g替换为22,ss替换为b等操作方法 


        // 使用replace只能替换第一个，把他放进一个循环中，当字符串中还有未被替换的字符时，一直循环

        while (str.indexOf('g') != -1) {
            str = str.replace('g', 22)
            str = str.replace('ss', 'b')
        }
        console.log(str);
        console.log(str);


        // 5、 截取指定开始位置到结束位置的字符串，如：取得1-5的字符串
        console.log(str.substr(1, 5));
        // 6、 找出以上字符串中出现次数最多的字符和出现的次数 
        var o = {};
        for (var i = 0; i < str.length; i++) {
            var chars = str.charAt(i); // chars 是 字符串的每一个字符
            if (o[chars]) { // o[chars] 得到的是属性值
                o[chars]++;
            } else {
                o[chars] = 1;
            }
        }
        console.log(o);
        // 2. 遍历对象
        var max = 0;
        var ch = '';
        for (var k in o) {
            // k 得到是 属性名
            // o[k] 得到的是属性值
            if (o[k] > max) {
                max = o[k];
                ch = k;
            }
        }
        console.log(max);
        console.log('最多的字符是' + ch);



        // // 7、 遍历字符串，并将遍历出的字符两头添加符号“@”
        // var str = '';
        // for (var i = 0; i < str.length; i++) {

        //     str = `@${str[i]}@`
        // }
        // console.log(str);

        var str = 'abaasdffggghhjjkkgfddsssss3444343';
        // 将字符串分割为数组
        var res = str.split('')
        // 打印该数组
        console.log(res);
        // 遍历数组
        for (var k in res) {

            console.log(`@${res[k]}@`);
        }




    </SCript>
</body>

</html>